home *** CD-ROM | disk | FTP | other *** search
/ Saar AMOK 2 / Saar AMOK II - Oktober 1994 (1994)(Kreativ Marketing)(DE)[!][I-7598].iso / disks / 651_700 / 652 / xpkdisk / source.lha / mkci.c < prev    next >
C/C++ Source or Header  |  1993-11-08  |  2KB  |  74 lines

  1. /*
  2.  * MKCI.C
  3.  *
  4.  * $Id: mkci.c,v 1.3 1993/11/08 13:11:15 Rhialto Rel $
  5.  * $Log: mkci.c,v $
  6.  * Revision 1.3  1993/11/08  13:11:15  Rhialto
  7.  * Add RCS tags.
  8.  *
  9.  *
  10.  * Generate c.i file for assembly parts to export stuff from C to ASM level.
  11.  */
  12.  
  13. #include "xpkdisk.h"
  14. #include <exec/resident.h>
  15. #include <stdio.h>
  16.  
  17. #define OFFSETOF(tag, member)   ((long)(&((struct tag *)0)->member))
  18. #define OFFSET(label, structure, member) \
  19.     printf("%s\tEQU %d\n", label, OFFSETOF(structure, member))
  20. #define VALUE(label, value) \
  21.     printf("%s\tEQU %d\n", label, value);
  22.  
  23. long
  24. log2(unsigned long x)
  25. {
  26.     long log;
  27.  
  28.     if (x) {
  29.     for (log = -1; x; log++)
  30.         x >>= 1;
  31.  
  32.     return log;
  33.     } else {
  34.     return -1;
  35.     }
  36. }
  37.  
  38. main(argc, argv)
  39. int argc;
  40. char **argv;
  41. {
  42.     if (argc > 1)
  43.     freopen(argv[1], "w", stdout);
  44.  
  45.     printf("; Generated by $Id: mkci.c,v 1.3 1993/11/08 13:11:15 Rhialto Rel $\n; Don't edit by hand!\n");
  46.  
  47.     VALUE("xd_SIZEOF", sizeof(DEV));
  48. #ifdef HANDLE_IO_QUICK
  49.     VALUE("HANDLE_IO_QUICK", 1);
  50. #else
  51.     VALUE("HANDLE_IO_QUICK", 0);
  52. #endif
  53.     VALUE("UNITB_ACTIVE", UNITB_ACTIVE);
  54.     VALUE("VERSION", VERSION);
  55.     VALUE("REVISION", REVISION);
  56.  
  57.     /* Some system include values: */
  58.     VALUE("RTC_MATCHWORD", RTC_MATCHWORD);
  59.     VALUE("RTF_AUTOINIT", RTF_AUTOINIT);
  60.     VALUE("NT_DEVICE", NT_DEVICE);
  61.     VALUE("LIBF_CHANGED", LIBF_CHANGED);
  62.     VALUE("LIBF_SUMUSED", LIBF_SUMUSED);
  63.  
  64.     OFFSET("ln_Type", Node, ln_Type);
  65.     OFFSET("ln_Name", Node, ln_Name);
  66.     OFFSET("dev_Flags", XpkDiskDevice, dev_Flags);
  67.     OFFSET("dev_Version", XpkDiskDevice, dev_Version);
  68.     OFFSET("dev_Revision", XpkDiskDevice, dev_Revision);
  69.     OFFSET("dev_IdString", XpkDiskDevice, dev_IdString);
  70.  
  71.     return 0;
  72. }
  73.  
  74.